package com.diyizu.youdianda.serviceImpl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.diyizu.youdianda.dto.YddLinkDto;
import com.diyizu.youdianda.entity.YddLink;
import com.diyizu.youdianda.mapper.YddLinkMapper;
import com.diyizu.youdianda.service.YddLinkService;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 */
@Service
public class YddLinkServiceImpl extends ServiceImpl<YddLinkMapper, YddLink> implements YddLinkService {

    //友情链接管理列表展示
    @Override
    public YddLinkDto getAll(Integer type, Integer page, Integer limit) {
        //分页构造器
        Page<YddLink> yddLinkPage = new Page<>(page, limit);
        //根据type判断是文字链接还是图片链接
        LambdaQueryWrapper<YddLink> lqw = new LambdaQueryWrapper<>();
        lqw.eq(YddLink::getType, type);
        Page<YddLink> linkPage = this.page(yddLinkPage, lqw);

        //将分页数据放入集合中
        ArrayList<YddLink> yddLinks = new ArrayList<>();
        for (YddLink record : linkPage.getRecords()) {
            yddLinks.add(record);
        }
        //匹配格式
        YddLinkDto yddLinkDto = new YddLinkDto();
        yddLinkDto.setCount(linkPage.getTotal());   //总记录数
        yddLinkDto.setTotalPages(linkPage.getPages());  //总页数
        yddLinkDto.setPageSize(linkPage.getSize());     //每页几条
        yddLinkDto.setCurrentPage(linkPage.getCurrent()); //当前页
        yddLinkDto.setData(yddLinks);
        //返回结果
        return yddLinkDto;
    }
}
